package bg.btanev.eightyfour.client.service;

import java.io.Serializable;

import bg.btanev.eightyfour.shared.command.CommandAction;
import bg.btanev.eightyfour.shared.command.CommandInput;
import bg.btanev.eightyfour.shared.command.CommandResult;

import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 *
 * @author B.Tanev
 *
 */
public interface GWTCommandServiceAsync<I extends CommandInput, R extends Serializable, CR extends CommandResult<I, R>, CA extends CommandAction<I, CR>> {

	void executeCommand(CA commandAction, AsyncCallback<CR> callback);
}
